<?php
namespace Mob \ Model;

use Think \ Model;
use Think \ Hook;
/**请求模型
 * Class InfoModel
 */

require_once ('./Application/Mob/Common/function.php');

class CancelModel extends Model {


    /**
	 * creatorOperate  创建取消
	 * @param $Serialno  任务流水号
	 * @param $Uid      操作人员ID
	 * @return 创建结果   成功=返回取消流水号,失败=null
	*/

   public function creatorOperate($Serialno,$Uid,$cancelType,$Reason='',$Describe='',$confirmPerson='')
   {
   	$data['serialno']=$Serialno;
    $data['cancelType']=$cancelType;
    $data['cancelUid']=$Uid;

    $data['cancelSerialno']=getSerialno();    //生成流水号


   	 switch($cancelType) //判断取消类型
   	 {

   	  case 1:// 如果类型为自行发布，并未选择受理人员，可以直接取消。

   	  $data['cancelCompleteTime']=getDateTime();   //更新发布时间
      $data['cancelReason']=$Reason;    //更新取消原因
      $data['cancelDescribe']=$Describe;  //更新取消描述
   	  $data['cancelState']=1;   //更新状态为完成
   	  break;

   	  case 2:
   	  $data['cancelDescribe']=$Describe;  //更新取消描述
   	  $data['cancelState']=0;   //更新状态为申请状态
   	  $data['confirmPerson']=$confirmPerson;   //更新确认人

   	  break;


   	  case 3:

   	  break;

   	  case 4:

   	  break;

   	 }





  	if($this->add($data))
  	{
    return $data['cancelSerialno'];
  	}else
  	{
  	return null;
  	}

   }

     /**
	 * queryCancelInfo  查询取消信息
	 * @param $cancelUid  取消流水号
	 * @return 取消信息   如果存在则返回数据，没有的话，则返回为空
	*/

    public function queryCancelInfo($CancelSerialno)
   {

   	$where['cancelSerialno']=$CancelSerialno;
   return $this->where($where)->field('cancelType,cancelUid,cancelRequestTime,cancelState,cancelCompleteTime,cancelReason,cancelDescribe,confirmPerson,confirmTime,confirmfruit')->find();

   }
    /**
	 * getConfirmresult  查询取消信息
	 * @param $cancelUid  取消流水号
	 * @return 返回状态 0=申请中,1=同意,2=不同意,false= 查询结果为空
	*/


   public function getConfirmresult($CancelSerialno)
   {
   	$result = $this->queryCancelInfo($CancelSerialno);
   	if($result)
   	{
   	return 	$result['cancelState'];
   	}else
   	{
   	return null;
   	}
   }








}